package dt.day04;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;


/**
 * 第二次作业点评(70分)：
 * 1：第一题：有进步，有用对象的思想的。 【完成】
 * 2：第二题：使用distinct() 蛮有新意的，不错。【完成】
 * 3：第三题：未发现代码【未完成】
 * 4：第四题：Map里面value使用List 对Map的认识有加深。【完成】
 * 5：第五题：结果统计出来了，未有任务排序的代码，正好碰见结果是从大到小的排序。【完成50%】
 */
public class Test {
    public static List<Person> personList=new ArrayList<>();

    public static void main(String[] args) {
        insertPerson();
        Map<String,List<String>> map=new HashMap<>();
        for (int i=0;i<personList.size();i++){
            if (map.containsKey(personList.get(i).getName())){
                List<String> list=map.get(personList.get(i).getName());
                for (String address : personList.get(i).getAddress()) {
                    list.add(address);
                }
                map.put(personList.get(i).getName(),list.stream().distinct().collect(Collectors.toList()));
            }else {
                map.put(personList.get(i).getName(), personList.get(i).getAddress());
            }
        }
        System.out.println(map);

    }

    public static void insertPerson(){
        List<String> list1=new ArrayList<>();
        list1.add("武汉");
        list1.add("三亚");
        list1.add("广州");
        list1.add("景德镇");
        personList.add(new Person("小明",5,list1));
        List<String> list2=new ArrayList<>();
        list2.add("武汉");
        list2.add("株洲");
        list2.add("长沙");
        personList.add(new Person("小红",5,list2));
        List<String> list3=new ArrayList<>();
        list3.add("济南");
        list3.add("常州");
        list3.add("巢湖");
        personList.add(new Person("小童",5,list3));
        List<String> list4=new ArrayList<>();
        list4.add("常州");
        list4.add("长沙");
        list4.add("济南");
        list4.add("武汉");
        personList.add(new Person("小明",6,list4));
        List<String> list5=new ArrayList<>();
        list5.add("北京");
        list5.add("广州");
        list5.add("上海");
        personList.add(new Person("小红",6,list5));
        List<String> list6=new ArrayList<>();
        list6.add("岳阳");
        list6.add("济南");
        personList.add(new Person("小童",6,list6));
    }
}
